package collection;

import java.util.ArrayList;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

/** List的演示 */
public class ListDemo {
    public static void main(String[] args) {
        List<String> list = new ArrayList<>();
        list.add("中国");
        list.add("俄罗斯");
        list.add("美国");
        list.add("英国");
        list.add("法国");
        System.out.println("联合国五常："+list);//[中国, 俄罗斯, 美国, 英国, 法国]

        //E get(int index):获取指定下标所对应的元素
        String e = list.get(2);
        System.out.println(e);//美国

        Iterator<String> it =list.listIterator();
        while (it.hasNext()){
            System.out.println(it.next());
        }
        for(String s : list){
            System.out.println(s);
        }
        System.out.println("---------------------------");
        //e set(int index,E e):将给定元素设置到指定位置，返回被替换的元素
        list.set(3,"印度");//将list中下标为3的元素改成印度
        String old = list.set(4,"德国");//将list中下标为4的元素换成德国，同时将原数据返回old
        System.out.println(list);//[中国, 俄罗斯, 美国, 印度, 德国]
        System.out.println(old);//法国

        //E remove(int index): 删除指定位置元素，并返回指定位置元素
        String s = list.remove(2);//删除下标为2的元素,将删除值返回给s-----常规用法
        System.out.println(list);//[中国, 俄罗斯, 印度, 德国]
        System.out.println(s);//美国

        //void add(int index,E e):将给定元素e添加到index所指定的位置，相当于插入操作
        list.add(3,"日本");
        System.out.println(list);//[中国, 俄罗斯, 印度, 日本, 德国]
    }
}
